home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Gekkan Dennou Club 145
/
Gekkan Dennou Club - 2000.6 Vol. 145 (Japan).7z
/
Gekkan Dennou Club - 2000.6 Vol. 145 (Japan) (Track 1).bin
/
tools
/
sharp
/
sxwork1i.lzh
/
SXWORK1.XDF
/
INCLUDE
/
CONSOLE.H
next >
Wrap
Text File
|
1994-02-20
|
5KB
|
327 lines
/*
* console.h X68k SX_SYSTEM ver 2.01 Copyright 1994 SHARP/First Class Technology
*/
#ifndef __CONSOLE_H
#define __CONSOLE_H
#ifndef __SXDEF2_H
#include <sxdef2.h>
#endif
#ifdef FORWORD
#define __PROTO_TYPE
#endif
#ifdef __STDC__
#define __PROTO_TYPE
#endif
typedef enum KeyCode KeyCode;
typedef struct Mouse Mouse;
typedef struct MsCsr MsCsr;
typedef struct AryQue AryQue;
typedef struct KBoard KBoard;
typedef struct Key Key;
/*
* マウスマン (Mouse Man)
*/
struct Mouse {
Bitmap *bmap;
short multi;
char rvsSwitch;
char rvsForBack;
char rvsLeftRight;
unsigned long nowPosition;
struct MsSwitch {
char leftSw;
char rightSw;
} nowSwitch;
unsigned long thePosition;
struct MsSwitch theSwitch;
short deltaX;
short deltaY;
short restX;
short restY;
unsigned long oldPosition;
struct MsSwitch oldSwitch;
long cache;
MsCsr **csrHdl;
short bits;
short csrLvl;
short drawing;
char cached;
};
struct MsCsr {
Point hotSpot;
BitImg mask[16];
BitImg pattern[4][16];
};
/*
* キーボードマン (Keyboard Man)
*/
#define KB_HALT 1
#define KB_RESETON (1 << 1)
#define KB_OLDON (1 << 2)
#define KB_LEDON (1 << 3)
#define KB_CLICKON (1 << 4)
#define KB_REPEATON (1 << 5)
#define KB_ASSIGNON (1 << 6)
enum KeyCode {
K_ESC = 0x01,
K_1,
K_2,
K_3,
K_4,
K_5,
K_6,
K_7,
K_8,
K_9,
K_0,
K_MINUS,
K_CARET,
K_YEN,
K_BS,
K_TAB, /* 0x10 */
K_Q,
K_W,
K_E,
K_R,
K_T,
K_Y,
K_U,
K_I,
K_O,
K_P,
K_AT,
K_LBRACK,
K_CR,
K_A,
K_S,
K_D, /* 0x20 */
K_F,
K_G,
K_H,
K_J,
K_K,
K_L,
K_SEMI,
K_COLON,
K_RBRACK,
K_Z,
K_X,
K_C,
K_V,
K_B,
K_N,
K_M, /* 0x30 */
K_COMMA,
K_PERIOD,
K_SLASH,
K__,
K_SPACE,
K_HOME,
K_DEL,
K_RUP,
K_RDOWN,
K_UNDO,
K_LEFT,
K_UP,
K_RIGHT,
K_DOWN,
K_CLR,
KT_SLASH, /* 0x40 */
KT_ASTERI,
KT_MINUS,
KT_7,
KT_8,
KT_9,
KT_PLUS,
KT_4,
KT_5,
KT_6,
KT_EQUAL,
KT_1,
KT_2,
KT_3,
K_ENTER,
KT_0,
KT_COMMA, /* 0x50 */
KT_PERIOD,
K_KIGO,
K_TOROKU,
K_HELP,
K_XF1,
K_XF2,
K_XF3,
K_XF4,
K_XF5,
K_KANA,
K_ROMAJI,
K_CODEIN,
K_CAPS,
K_INS,
K_HIRA,
K_ZEN, /* 0x60 */
K_BREAK,
K_COPY,
K_F1,
K_F2,
K_F3,
K_F4,
K_F5,
K_F6,
K_F7,
K_F8,
K_F9,
K_F10,
K_SHIFT = 0x70,
K_CTRL,
K_OPT1,
K_OPT2
};
struct AryQue {
short size;
short count;
void *start;
void *read;
void *write;
};
struct KBoard {
AryQue keyBuf;
unsigned long shiftKey;
short data;
char flag[16];
char pad[10];
char map[128];
char assign[128];
};
/*
* キーマン (Key Man)
*/
struct Key {
AryQue msgQue;
unsigned long shiftKey;
char *map;
KBoard *kbr;
void *ascJob;
void *cacheA;
void *cacheK;
void *cacheM;
};
#ifdef __PROTO_TYPE
/*
* エクセプションマン (Exception Man)
*/
int EXEnVDISPST(void (*)(void));
int EXDeVDISPST(void (*)(void));
/*
* マウスマン (Mouse Man)
*/
void MSInitCsr(void);
void MSShowCsr(void);
void MSHideCsr(void);
void MSSetCsr(MsCsr **);
void MSObscureCsr(void);
void MSShieldCsr(Rect *, LPoint);
Mouse *MSGetCurMsr(void);
long MSMultiGet(void);
long MSMultiSet(long);
/*
* アニメーションマン (Animation Man)
*/
int EXAnimStart(int, int, MsCsr ***);
int EXAnimEnd(void);
BOOLEAN EXAnimTest(void);
/*
* キーボードマン (Keyboard Man)
*/
char *KBMapGet(KBoard *);
long KBShiftGet(KBoard *);
long KBShiftSet(KBoard *, long);
int KBSimulate(KBoard *, long);
int KBScan(KBoard *);
int KBGet(KBoard *);
void KBEmpty(KBoard *);
KBoard *KBInit(int, int);
void KBTini(KBoard *);
KBoard *KBCurKbrGet(void);
BOOLEAN KBOldOnGet(KBoard *);
BOOLEAN KBOldOnSet(KBoard *, BOOLEAN);
int KBFlagGet(KBoard *);
int KBFlagSet(KBoard *, int);
/*
* キーマン (Key Man)
*/
void KMEmpty(Key *);
int KMPost(Key *, int, int);
int (*KMAscJobSet(Key *, int (*)(void)))(void);
int KMSimulate(Key *, int);
void KMTask(Key *);
Key *KMInit(long);
void KMTini(Key *);
Key *KMCurKmrGet(void);
#undef __PROTO_TYPE
#else
/*
* エクセプションマン (Exception Man)
*/
int EXEnVDISPST();
int EXDeVDISPST();
/*
* マウスマン (Mouse Man)
*/
void MSInitCsr();
void MSShowCsr();
void MSHideCsr();
void MSSetCsr();
void MSObscureCsr();
void MSShieldCsr();
Mouse *MSGetCurMsr();
long MSMultiGet();
long MSMultiSet();
/*
* アニメーションマン (Animation Man)
*/
int EXAnimStart();
int EXAnimEnd();
BOOLEAN EXAnimTest();
/*
* キーボードマン (Keyboard Man)
*/
char *KBMapGet();
long KBShiftGet();
long KBShiftSet();
int KBSimulate();
int KBScan();
int KBGet();
void KBEmpty();
KBoard *KBInit();
void KBTini();
KBoard *KBCurKbrGet();
int KBOldOnGet();
int KBOldOnSet();
int KBFlagGet();
int KBFlagSet();
/*
* キーマン (Key Man)
*/
void KMEmpty();
int KMPost();
int (*KMAscJobSet())();
int KMSimulate();
void KMTask();
Key *KMInit();
void KMTini();
Key *KMCurKmrGet();
#endif __PROTO_TYPE
#endif __CONSOLE_H